# **************************************************************************
# Juan Gonzalez Gomez. Escuela Politecnica Superior. UAM. Febrero 2009
# --------------------------------------------------------------------------
# Licencia GPL. 
# --------------------------------------------------------------------------
#
#***************************************************************************

#-- Nombre del directorio donde generar los ficheros intermedios
WORKDIR=work

#-- Nombre del fichero con la libreria de unidades de diseno
LIBWORK=$(WORKDIR)/work-obj93.cf

#-- Flags para indicar la libreria de unidades de diseno al GHDL
LIBFLAGS=--workdir=$(WORKDIR)

#-- Nombres de los bancos de prueba a simular y sus dependencias
TB1=reg_tb
TB1_DEP=reg.vhd $(TB1).vhd

#---------------------------
#       OBJETIVOS
#---------------------------

$(TB1): $(LIBWORK) $(TB1_DEP)
	ghdl -m  $(LIBFLAGS) $(TB1)

#-- Construirlo todo y ejecutarlo!
run: $(TB1)
	./$(TB1) --wave=simulacion/$(TB1).ghw 

simulate: run
	gtkwave simulacion/$(TB1).ghw simulacion/$(TB1).cfg &

#-- Crear la libreria de unidades de diseno
#-- Se importan todas las unidades de diseno de todos los ficheros
#-- en vhdl
$(LIBWORK):
	ghdl -i $(LIBFLAGS) *.vhd

#-- Mostrar todas las entidades que hay definidas
show: $(LIBWORK)
	ghdl -d $(LIBFLAGS) | grep entity


#--- Limpiarlo todo
clean:
	ghdl --clean $(LIBFLAGS)
	rm -f *~ *.bak $(TARBALL) simulacion/*.ghw 
 
#--- Eliminar la libreria de unidades de diseno
remove: clean
	ghdl --remove $(LIBFLAGS)


